package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 房租缴费汇总明细对象 rent_billamountdetail
 * 
 * @author expense
 * @date 2025-03-11
 */
public class RentBillamountdetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房租缴费汇总明细Id */
    private String billamountdetailId;

    /** 房租账单汇总Id */
    @Excel(name = "房租账单汇总Id")
    private String billamountId;

    /** 合同Id */
    @Excel(name = "合同Id")
    private String contractId;

    /** 报账点Id */
    @Excel(name = "报账点Id")
    private String billaccountId;

    /** 房租费月租金（不含税） */
    @Excel(name = "房租费月租金", readConverterExp = "不=含税")
    private BigDecimal billamountPrice;

    /** 缴费月数 */
    @Excel(name = "缴费月数")
    private BigDecimal billamountNumber;

    /** 不含税金额 */
    @Excel(name = "不含税金额")
    private BigDecimal billamountNotax;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal billamountTaxratio;

    /** 税金 */
    @Excel(name = "税金")
    private BigDecimal billamountTaxamount;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private BigDecimal billamountWithtax;

    /** 缴费期始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountStartdate;

    /** 缴费期终 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期终", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountEnddate;

    /** 报账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "报账日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date paymentDate;

    /** 稽核结果 */
    @Excel(name = "稽核结果")
    private String checkResult;

    /** 明细所属机房/资源点/位置点信息 */
    @Excel(name = "明细所属机房/资源点/位置点信息")
    private String belongRoom;

    /** 二级租费费用类型：4、自有站点 5、三方站点 6、铁塔公司站点 */
    @Excel(name = "二级租费费用类型：4、自有站点 5、三方站点 6、铁塔公司站点")
    private Long secondFeeType;

    /** 三级租费费用类型：5、场地租赁  6、房屋租赁 */
    @Excel(name = "三级租费费用类型：5、场地租赁  6、房屋租赁")
    private Long thirdFeeType;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String prvId;

    /** 业务大类 */
    @Excel(name = "业务大类")
    private String className;

    /** 业务小类 */
    @Excel(name = "业务小类")
    private String classSmName;

    /** 业务活动 */
    @Excel(name = "业务活动")
    private String activityName;

    /** 财务大集中与普通标识（1：财务大集中） */
    @Excel(name = "财务大集中与普通标识", readConverterExp = "1=：财务大集中")
    private String isFinance;

    /** 业务大类编码 */
    @Excel(name = "业务大类编码")
    private String classCode;

    /** 业务小类编码 */
    @Excel(name = "业务小类编码")
    private String classSmCode;

    /** 业务活动编码 */
    @Excel(name = "业务活动编码")
    private String activityCode;

    /** 推送财务的摘要 */
    @Excel(name = "推送财务的摘要")
    private String summary;

    /** 报账单类型编码 */
    @Excel(name = "报账单类型编码")
    private String claimTypeCode;

    /** 报账单类型名称 */
    @Excel(name = "报账单类型名称")
    private String claimTypeName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String pregName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String regName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierCode;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierSite;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierContact;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String supplierTelephone;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String bankUser;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String depositBank;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountNotax;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountNodeduction;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal otherAmountTax;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustPayActamount;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustDueamountAct;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal adjustBillamountTaxamountAct;

    /** 其他费用-价款总和(缴费单) */
    @Excel(name = "其他费用-价款总和(缴费单)")
    private BigDecimal otherPriceSum;

    /** 其它费用-含税金额总和(缴费单) */
    @Excel(name = "其它费用-含税金额总和(缴费单)")
    private BigDecimal otherBillamountTaxSum;

    /** 其它费用-税金总和(缴费单) */
    @Excel(name = "其它费用-税金总和(缴费单)")
    private BigDecimal otherAmountTaxSum;

    /** 票据类型(缴费单) */
    @Excel(name = "票据类型(缴费单)")
    private Long invoiceType;

    /** 报账人账号 */
    @Excel(name = "报账人账号")
    private String userLoginName;

    /** 报账人人工号 */
    @Excel(name = "报账人人工号")
    private String userCode;

    /** smap账号 */
    @Excel(name = "smap账号")
    private String smapId;

    /** 成本中心 */
    @Excel(name = "成本中心")
    private String costCenter;

    /** 财务系统报账单编号 */
    @Excel(name = "财务系统报账单编号")
    private String claimNum;

    /** 二次汇总Id */
    @Excel(name = "二次汇总Id")
    private String secondBillamountId;

    /** 市场段代码 */
    @Excel(name = "市场段代码")
    private String marketCode;

    /** 市场段名称 */
    @Excel(name = "市场段名称")
    private String marketName;

    /** 产品段代码 */
    @Excel(name = "产品段代码")
    private String produnctCode;

    /** 产品段名称 */
    @Excel(name = "产品段名称")
    private String produnctName;

    public void setBillamountdetailId(String billamountdetailId) 
    {
        this.billamountdetailId = billamountdetailId;
    }

    public String getBillamountdetailId() 
    {
        return billamountdetailId;
    }
    public void setBillamountId(String billamountId) 
    {
        this.billamountId = billamountId;
    }

    public String getBillamountId() 
    {
        return billamountId;
    }
    public void setContractId(String contractId) 
    {
        this.contractId = contractId;
    }

    public String getContractId() 
    {
        return contractId;
    }
    public void setBillaccountId(String billaccountId) 
    {
        this.billaccountId = billaccountId;
    }

    public String getBillaccountId() 
    {
        return billaccountId;
    }
    public void setBillamountPrice(BigDecimal billamountPrice) 
    {
        this.billamountPrice = billamountPrice;
    }

    public BigDecimal getBillamountPrice() 
    {
        return billamountPrice;
    }
    public void setBillamountNumber(BigDecimal billamountNumber) 
    {
        this.billamountNumber = billamountNumber;
    }

    public BigDecimal getBillamountNumber() 
    {
        return billamountNumber;
    }
    public void setBillamountNotax(BigDecimal billamountNotax) 
    {
        this.billamountNotax = billamountNotax;
    }

    public BigDecimal getBillamountNotax() 
    {
        return billamountNotax;
    }
    public void setBillamountTaxratio(BigDecimal billamountTaxratio) 
    {
        this.billamountTaxratio = billamountTaxratio;
    }

    public BigDecimal getBillamountTaxratio() 
    {
        return billamountTaxratio;
    }
    public void setBillamountTaxamount(BigDecimal billamountTaxamount) 
    {
        this.billamountTaxamount = billamountTaxamount;
    }

    public BigDecimal getBillamountTaxamount() 
    {
        return billamountTaxamount;
    }
    public void setBillamountWithtax(BigDecimal billamountWithtax) 
    {
        this.billamountWithtax = billamountWithtax;
    }

    public BigDecimal getBillamountWithtax() 
    {
        return billamountWithtax;
    }
    public void setBillamountStartdate(Date billamountStartdate) 
    {
        this.billamountStartdate = billamountStartdate;
    }

    public Date getBillamountStartdate() 
    {
        return billamountStartdate;
    }
    public void setBillamountEnddate(Date billamountEnddate) 
    {
        this.billamountEnddate = billamountEnddate;
    }

    public Date getBillamountEnddate() 
    {
        return billamountEnddate;
    }
    public void setPaymentDate(Date paymentDate) 
    {
        this.paymentDate = paymentDate;
    }

    public Date getPaymentDate() 
    {
        return paymentDate;
    }
    public void setCheckResult(String checkResult) 
    {
        this.checkResult = checkResult;
    }

    public String getCheckResult() 
    {
        return checkResult;
    }
    public void setBelongRoom(String belongRoom) 
    {
        this.belongRoom = belongRoom;
    }

    public String getBelongRoom() 
    {
        return belongRoom;
    }
    public void setSecondFeeType(Long secondFeeType) 
    {
        this.secondFeeType = secondFeeType;
    }

    public Long getSecondFeeType() 
    {
        return secondFeeType;
    }
    public void setThirdFeeType(Long thirdFeeType) 
    {
        this.thirdFeeType = thirdFeeType;
    }

    public Long getThirdFeeType() 
    {
        return thirdFeeType;
    }
    public void setPrvId(String prvId) 
    {
        this.prvId = prvId;
    }

    public String getPrvId() 
    {
        return prvId;
    }
    public void setClassName(String className) 
    {
        this.className = className;
    }

    public String getClassName() 
    {
        return className;
    }
    public void setClassSmName(String classSmName) 
    {
        this.classSmName = classSmName;
    }

    public String getClassSmName() 
    {
        return classSmName;
    }
    public void setActivityName(String activityName) 
    {
        this.activityName = activityName;
    }

    public String getActivityName() 
    {
        return activityName;
    }
    public void setIsFinance(String isFinance) 
    {
        this.isFinance = isFinance;
    }

    public String getIsFinance() 
    {
        return isFinance;
    }
    public void setClassCode(String classCode) 
    {
        this.classCode = classCode;
    }

    public String getClassCode() 
    {
        return classCode;
    }
    public void setClassSmCode(String classSmCode) 
    {
        this.classSmCode = classSmCode;
    }

    public String getClassSmCode() 
    {
        return classSmCode;
    }
    public void setActivityCode(String activityCode) 
    {
        this.activityCode = activityCode;
    }

    public String getActivityCode() 
    {
        return activityCode;
    }
    public void setSummary(String summary) 
    {
        this.summary = summary;
    }

    public String getSummary() 
    {
        return summary;
    }
    public void setClaimTypeCode(String claimTypeCode) 
    {
        this.claimTypeCode = claimTypeCode;
    }

    public String getClaimTypeCode() 
    {
        return claimTypeCode;
    }
    public void setClaimTypeName(String claimTypeName) 
    {
        this.claimTypeName = claimTypeName;
    }

    public String getClaimTypeName() 
    {
        return claimTypeName;
    }
    public void setSupplierId(String supplierId) 
    {
        this.supplierId = supplierId;
    }

    public String getSupplierId() 
    {
        return supplierId;
    }
    public void setPregId(String pregId) 
    {
        this.pregId = pregId;
    }

    public String getPregId() 
    {
        return pregId;
    }
    public void setPregName(String pregName) 
    {
        this.pregName = pregName;
    }

    public String getPregName() 
    {
        return pregName;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setRegName(String regName) 
    {
        this.regName = regName;
    }

    public String getRegName() 
    {
        return regName;
    }
    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }
    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }
    public void setSupplierSite(String supplierSite) 
    {
        this.supplierSite = supplierSite;
    }

    public String getSupplierSite() 
    {
        return supplierSite;
    }
    public void setSupplierContact(String supplierContact) 
    {
        this.supplierContact = supplierContact;
    }

    public String getSupplierContact() 
    {
        return supplierContact;
    }
    public void setSupplierTelephone(String supplierTelephone) 
    {
        this.supplierTelephone = supplierTelephone;
    }

    public String getSupplierTelephone() 
    {
        return supplierTelephone;
    }
    public void setBankUser(String bankUser) 
    {
        this.bankUser = bankUser;
    }

    public String getBankUser() 
    {
        return bankUser;
    }
    public void setDepositBank(String depositBank) 
    {
        this.depositBank = depositBank;
    }

    public String getDepositBank() 
    {
        return depositBank;
    }
    public void setOtherAmountNotax(BigDecimal otherAmountNotax) 
    {
        this.otherAmountNotax = otherAmountNotax;
    }

    public BigDecimal getOtherAmountNotax() 
    {
        return otherAmountNotax;
    }
    public void setOtherAmountNodeduction(BigDecimal otherAmountNodeduction) 
    {
        this.otherAmountNodeduction = otherAmountNodeduction;
    }

    public BigDecimal getOtherAmountNodeduction() 
    {
        return otherAmountNodeduction;
    }
    public void setOtherAmountTax(BigDecimal otherAmountTax) 
    {
        this.otherAmountTax = otherAmountTax;
    }

    public BigDecimal getOtherAmountTax() 
    {
        return otherAmountTax;
    }
    public void setAdjustPayActamount(BigDecimal adjustPayActamount) 
    {
        this.adjustPayActamount = adjustPayActamount;
    }

    public BigDecimal getAdjustPayActamount() 
    {
        return adjustPayActamount;
    }
    public void setAdjustDueamountAct(BigDecimal adjustDueamountAct) 
    {
        this.adjustDueamountAct = adjustDueamountAct;
    }

    public BigDecimal getAdjustDueamountAct() 
    {
        return adjustDueamountAct;
    }
    public void setAdjustBillamountTaxamountAct(BigDecimal adjustBillamountTaxamountAct) 
    {
        this.adjustBillamountTaxamountAct = adjustBillamountTaxamountAct;
    }

    public BigDecimal getAdjustBillamountTaxamountAct() 
    {
        return adjustBillamountTaxamountAct;
    }
    public void setOtherPriceSum(BigDecimal otherPriceSum) 
    {
        this.otherPriceSum = otherPriceSum;
    }

    public BigDecimal getOtherPriceSum() 
    {
        return otherPriceSum;
    }
    public void setOtherBillamountTaxSum(BigDecimal otherBillamountTaxSum) 
    {
        this.otherBillamountTaxSum = otherBillamountTaxSum;
    }

    public BigDecimal getOtherBillamountTaxSum() 
    {
        return otherBillamountTaxSum;
    }
    public void setOtherAmountTaxSum(BigDecimal otherAmountTaxSum) 
    {
        this.otherAmountTaxSum = otherAmountTaxSum;
    }

    public BigDecimal getOtherAmountTaxSum() 
    {
        return otherAmountTaxSum;
    }
    public void setInvoiceType(Long invoiceType) 
    {
        this.invoiceType = invoiceType;
    }

    public Long getInvoiceType() 
    {
        return invoiceType;
    }
    public void setUserLoginName(String userLoginName) 
    {
        this.userLoginName = userLoginName;
    }

    public String getUserLoginName() 
    {
        return userLoginName;
    }
    public void setUserCode(String userCode) 
    {
        this.userCode = userCode;
    }

    public String getUserCode() 
    {
        return userCode;
    }
    public void setSmapId(String smapId) 
    {
        this.smapId = smapId;
    }

    public String getSmapId() 
    {
        return smapId;
    }
    public void setCostCenter(String costCenter) 
    {
        this.costCenter = costCenter;
    }

    public String getCostCenter() 
    {
        return costCenter;
    }
    public void setClaimNum(String claimNum) 
    {
        this.claimNum = claimNum;
    }

    public String getClaimNum() 
    {
        return claimNum;
    }
    public void setSecondBillamountId(String secondBillamountId) 
    {
        this.secondBillamountId = secondBillamountId;
    }

    public String getSecondBillamountId() 
    {
        return secondBillamountId;
    }
    public void setMarketCode(String marketCode) 
    {
        this.marketCode = marketCode;
    }

    public String getMarketCode() 
    {
        return marketCode;
    }
    public void setMarketName(String marketName) 
    {
        this.marketName = marketName;
    }

    public String getMarketName() 
    {
        return marketName;
    }
    public void setProdunctCode(String produnctCode) 
    {
        this.produnctCode = produnctCode;
    }

    public String getProdunctCode() 
    {
        return produnctCode;
    }
    public void setProdunctName(String produnctName) 
    {
        this.produnctName = produnctName;
    }

    public String getProdunctName() 
    {
        return produnctName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("billamountdetailId", getBillamountdetailId())
            .append("billamountId", getBillamountId())
            .append("contractId", getContractId())
            .append("billaccountId", getBillaccountId())
            .append("billamountPrice", getBillamountPrice())
            .append("billamountNumber", getBillamountNumber())
            .append("billamountNotax", getBillamountNotax())
            .append("billamountTaxratio", getBillamountTaxratio())
            .append("billamountTaxamount", getBillamountTaxamount())
            .append("billamountWithtax", getBillamountWithtax())
            .append("billamountStartdate", getBillamountStartdate())
            .append("billamountEnddate", getBillamountEnddate())
            .append("paymentDate", getPaymentDate())
            .append("checkResult", getCheckResult())
            .append("belongRoom", getBelongRoom())
            .append("secondFeeType", getSecondFeeType())
            .append("thirdFeeType", getThirdFeeType())
            .append("prvId", getPrvId())
            .append("className", getClassName())
            .append("classSmName", getClassSmName())
            .append("activityName", getActivityName())
            .append("isFinance", getIsFinance())
            .append("classCode", getClassCode())
            .append("classSmCode", getClassSmCode())
            .append("activityCode", getActivityCode())
            .append("summary", getSummary())
            .append("claimTypeCode", getClaimTypeCode())
            .append("claimTypeName", getClaimTypeName())
            .append("supplierId", getSupplierId())
            .append("pregId", getPregId())
            .append("pregName", getPregName())
            .append("regId", getRegId())
            .append("regName", getRegName())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("supplierSite", getSupplierSite())
            .append("supplierContact", getSupplierContact())
            .append("supplierTelephone", getSupplierTelephone())
            .append("bankUser", getBankUser())
            .append("depositBank", getDepositBank())
            .append("otherAmountNotax", getOtherAmountNotax())
            .append("otherAmountNodeduction", getOtherAmountNodeduction())
            .append("otherAmountTax", getOtherAmountTax())
            .append("adjustPayActamount", getAdjustPayActamount())
            .append("adjustDueamountAct", getAdjustDueamountAct())
            .append("adjustBillamountTaxamountAct", getAdjustBillamountTaxamountAct())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("otherPriceSum", getOtherPriceSum())
            .append("otherBillamountTaxSum", getOtherBillamountTaxSum())
            .append("otherAmountTaxSum", getOtherAmountTaxSum())
            .append("invoiceType", getInvoiceType())
            .append("userLoginName", getUserLoginName())
            .append("userCode", getUserCode())
            .append("smapId", getSmapId())
            .append("costCenter", getCostCenter())
            .append("claimNum", getClaimNum())
            .append("secondBillamountId", getSecondBillamountId())
            .append("marketCode", getMarketCode())
            .append("marketName", getMarketName())
            .append("produnctCode", getProdunctCode())
            .append("produnctName", getProdunctName())
            .toString();
    }
}
